// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.k2.navigation;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("navigation/tests")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("testData/navigationToLibrarySourcePolicy")
public abstract class KotlinNavigationToLibrarySourceTestGenerated extends AbstractKotlinNavigationToLibrarySourceTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/navigationToLibrarySourcePolicy/resolveToStdlib")
    public abstract static class ResolveToStdlib extends AbstractKotlinNavigationToLibrarySourceTest {
        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("testData/navigationToLibrarySourcePolicy/resolveToStdlib/classfiers")
        public static class Classfiers extends AbstractKotlinNavigationToLibrarySourceTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
            }

            @TestMetadata("actualTypeAlias.kt")
            public void testActualTypeAlias() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/classfiers/actualTypeAlias.kt");
            }

            @TestMetadata("annotations.kt")
            public void testAnnotations() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/classfiers/annotations.kt");
            }

            @TestMetadata("builtinType.kt")
            public void testBuiltinType() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/classfiers/builtinType.kt");
            }

            @TestMetadata("class.kt")
            public void testClass() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/classfiers/class.kt");
            }

            @TestMetadata("enumEntry.kt")
            public void testEnumEntry() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/classfiers/enumEntry.kt");
            }

            @TestMetadata("unnamedCompanion.kt")
            public void testUnnamedCompanion() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/classfiers/unnamedCompanion.kt");
            }
        }

        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("testData/navigationToLibrarySourcePolicy/resolveToStdlib/constructors")
        public static class Constructors extends AbstractKotlinNavigationToLibrarySourceTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
            }

            @TestMetadata("abstractList.kt")
            public void testAbstractList() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/constructors/abstractList.kt");
            }

            @TestMetadata("byteArrayPrimaryConstructorCall.kt")
            public void testByteArrayPrimaryConstructorCall() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/constructors/byteArrayPrimaryConstructorCall.kt");
            }

            @TestMetadata("byteArraySecondaryConstructorCall.kt")
            public void testByteArraySecondaryConstructorCall() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/constructors/byteArraySecondaryConstructorCall.kt");
            }
        }

        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("testData/navigationToLibrarySourcePolicy/resolveToStdlib/functions")
        public static class Functions extends AbstractKotlinNavigationToLibrarySourceTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
            }

            @TestMetadata("listOf_0parms.kt")
            public void testListOf_0parms() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/functions/listOf_0parms.kt");
            }

            @TestMetadata("listOf_1parm.kt")
            public void testListOf_1parm() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/functions/listOf_1parm.kt");
            }

            @TestMetadata("listOf_2parms.kt")
            public void testListOf_2parms() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/functions/listOf_2parms.kt");
            }

            @TestMetadata("List_listIterator.kt")
            public void testList_listIterator() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/functions/List_listIterator.kt");
            }

            @TestMetadata("primitiveCharArrayMap.kt")
            public void testPrimitiveCharArrayMap() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/functions/primitiveCharArrayMap.kt");
            }

            @TestMetadata("primitiveIntArrayMap.kt")
            public void testPrimitiveIntArrayMap() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/functions/primitiveIntArrayMap.kt");
            }

            @TestMetadata("unnamedCompanionMember.kt")
            public void testUnnamedCompanionMember() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/functions/unnamedCompanionMember.kt");
            }
        }

        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("testData/navigationToLibrarySourcePolicy/resolveToStdlib/properties")
        public static class Properties extends AbstractKotlinNavigationToLibrarySourceTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
            }

            @TestMetadata("dataClass.kt")
            public void testDataClass() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/properties/dataClass.kt");
            }

            @TestMetadata("list_size.kt")
            public void testList_size() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/properties/list_size.kt");
            }

            @TestMetadata("topLevel_pi.kt")
            public void testTopLevel_pi() throws Exception {
                runTest("testData/navigationToLibrarySourcePolicy/resolveToStdlib/properties/topLevel_pi.kt");
            }
        }
    }
}
